st = {p:{},f:{}};

st.p.model_id = false;

st.f.init = function(){
	st.p.model_id = jQuery('#modelx').data('id');
	st.p.seat_ticket_id = jQuery('#modelx').data('seat-ticket-id');
	st.f.listSeatType();
	var table_id = jQuery('.table_:first').data('id');
	if(table_id){
		st.p.loading = false;
		st.tb.f.table(table_id);
	}
};

st.tb = {};
st.tb.p = {};
st.tb.f = {};
st.tb.p.table_id = false;
st.tb.p.seat_type_id = false;
st.tb.f.table = function(table_id){
	st.tb.p.table_id = table_id;
	var data = {
		action:'admin/seat/Seat/table/'+table_id+'/'+st.p.seat_ticket_id,
	};
	var callback = function(res){
		jQuery('#model_table').html(res.html);
		st.f.bindSeatEvent();
	};
	st.f.action(data,callback);
};

st.f.listSeatType = function(){
	var data = {
		action:'admin/seat/Seat/listSeatType/'+st.p.seat_ticket_id,
		type:'get'
	};
	var callback = function(res){
		jQuery('#editor').html(res.html);
	};
	st.f.action(data,callback);
};

st.f.addSeatType = function(){
	var data = {
		action:'admin/seat/Seat/addSeatType/'+st.p.seat_ticket_id,
		type:'get'
	};
	var callback = function(res){
		jQuery('#editor').html(res.html);
	};
	st.f.action(data,callback);
};

st.f.editSeatType = function(id){
	var data = {
		action:'admin/seat/Seat/editSeatType/'+id,
		type:'get'
	};
	var callback = function(res){
		jQuery('#editor').html(res.html);
	};
	st.f.action(data,callback);
};

st.p.selSeatType = {};
st.p.seat_type_id = false;
st.f.selSeatType = function(id,tar){
	st.p.selSeatType = $(tar).data();	
	st.p.seat_type_id = st.p.selSeatType.id;
	st.f.showSeatType();
};

st.f.showSeatType = function(){
	jQuery('#modelx .state').html(st.p.selSeatType.name+'::'+st.p.selSeatType.price).css('color',st.p.selSeatType.color);
};

st.p.timer = false;
st.f.bindSeatEvent = function(){//is_seat
	jQuery('#model_table li.is_seat').click(function(){
		clearTimeout(st.p.timer);
		var tar  = this;
		st.p.timer = setTimeout(function(){
            //单击事件在这里
            if($(tar).data('seat')){
            	st.f.editSeat(tar);
            }else{
            	st.f.addSeat(tar);
            }

        }, 300,tar);
	});
	jQuery('#model_table li.is_seat').dblclick(function(e){
		clearTimeout(st.p.timer);
		if($(this).data('td')){
			st.f.delSeat(this);		
		}
	})
};

st.f.addSeat = function(tar){
	if(!st.p.seat_type_id){
		alert('请选择要设置的座位类型');
		return;
	}
	var seat = $(tar).data();
	var data = {
		type:'post',
		action:'admin/seat/Seat/add/',
		data:{
			'data[seat_ticket_id]':st.p.seat_ticket_id,
			'data[td_id]':seat.td,
			'data[seat_type_id]':st.p.selSeatType.id,
			'data[sort]':100,
			'data[enable]':1
		}
	};
	var callback = function(res){
		st.tb.f.table(st.tb.p.table_id);
	};
	st.f.action(data,callback);
};

st.f.editSeat = function(tar){
	if(!st.p.seat_type_id){
		alert('请选择要设置的座位类型');
		return;
	}
	var seat = $(tar).data();
	var data = {
		action:'admin/seat/Seat/edit/'+seat.seat,
		data:{
			'data[seat_ticket_id]':st.p.seat_ticket_id,
			'data[td_id]':seat.td,
			'data[seat_type_id]':st.p.selSeatType.id,
			'data[sort]':100,
			'data[enable]':1
		}
	};
	var callback = function(res){
		st.tb.f.table(st.tb.p.table_id);
	};
	st.f.action(data,callback);
};

st.f.delSeat = function(tar){
	var seat = $(tar).data();
	if(!seat.seat)return;
	var data = {
		action:'admin/seat/Seat/del/'+seat.seat,
	};
	var callback = function(res){
		st.tb.f.table(st.tb.p.table_id);
	};
	st.f.action(data,callback);
};

st.f.submit = function(tar){
	var data = {
		action:$(tar).attr('action'),
		type:'post',
		data:$(tar).serializeObject()
	};
	var callback = function(res){
		jQuery('#editor').html(res.html);
	};
	st.f.action(data,callback);
};

st.p.loading = false;
st.f.action = function(data,callback,errCallback){
	if(st.p.loading)return ;
	st.p.loading = true;
	var action = data.action;
	jQuery.ajax({
		type:data.type?data.type:'POST',
		url:data.action,
		data:data.data,
		dataType:'json',
		success : function(res){
			st.p.loading = false;
			callback(res);
		},
		error: function (data, status, e){
			st.p.loading = false;
			if(errCallback){
				errCallback();
			}
		},
		complete:function(){
			//cl.p.loading = false;
		}
	});
};